package thread;

/**
 * 静态方法上如果使用synchronized,那么该方法一定是同步的。
 */
public class SyncDemo3 {
    public static void main(String[] args) {
        Boo b1 = new Boo();
        Boo b2 = new Boo();
        Thread t1 = new Thread(){
            public void run(){
                Boo.doson();
            }
        };
        Thread t2 = new Thread(){
            public void run(){
                Boo.doson();
            }

        };
        t1.start();
        t2.start();

    }
}
class Boo{
    public static  void doson(){
        //静态方法中使用同步块时，也可以指定类对象，方式为：类名.class。
        synchronized(Boo.class) {
            try {
                Thread t = Thread.currentThread();
                System.out.println(t.getName() + "正在执行dosome方法.....");
                Thread.sleep(5000);
                System.out.println(t.getName() + "执行完毕");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
